Platform Explorer / Nuxeo Platform 2023.22

Contribution org.nuxeo.salesforce.SalesforceComponent--config

This contribution is part of XML component org.nuxeo.salesforce.SalesforceComponent inside nuxeo-salesforce-core-2023.0.2.jar /OSGI-INF/SalesforceComponent.xml

Extension Point

Extension point config of component SalesforceComponent.

Registration Order

0
The registration order represents the order in which this contribution was registered on its target extention point. This will impact the override/merge behaviour when it is implemented on the target service, and is useful for proper customization of existing contributions.
You can influence this order by adding "require" tags in the containing component declaration, to make sure it is resolved after another component (see "Resolution Order" on components).

Contributed Items

  • <library>
            <!-- title>Nuxeo Library</title -->
          	<root>/default-domain/workspaces</root>
          	<nuxeo-drive>true</nuxeo-drive>
          	<!-- 
          	you can control the visibility of these columns: type, size, author, lastModified.
          	The default is to hide the type column. 
          	-->
          	<doclist-hidden-columns>type</doclist-hidden-columns>
          	<!--
          	You can control which doc tab, data section, doc action or nav actions are visible. 
          	If not specified or empty all items are visible:
          	<doc-tabs>preview,data,history</doc-tabs>  
          	<data-sections>metadata,business-metadata,attachments,renditions,mlt</data-sections>
          	<doc-actions>edit,open,download,upload,lock</doc-actions>
          	<nav-actions>download,open,edit,delete</nav-actions>
          	The custom nav. actions are added to the built-in nav-actions. You should define a label, a Salesforce icon ID 
          	and an operation to be invoked bny the action 
          	<custom-nav-actions>
          		<action name='myaction' label="My Action" icon="action:new_note" operation="Salesforce.MyAction" />
          		...
          	</custom-nav-actions>
          	
          	To add custom user fields:
            <user-fields>NuxeoUserId__c,Team__c</user-fields>
            
            You can change the default open action to open the document in nuxeo:
            (The default is to open the document in the document viewer on the right of the listing.)   
            <open-doc-in-nuxeo>true</open-doc-in-nuxeo>
            
          	<preview>
          	function(doc) {
          		// the doc object is an instance of the FileDoc class from force-app/main/default/lwc/nuxeoClient/model.js
          		// the doc.doc object is the Nuxeo document defined in nuxeo javascript client.
          		// Refer to FileDoc for more on the API it expose.
          		// You can return null (or falsy) to let the client use the default rendition detection.         		
          		return {
          			viewer: "video" | "audio" | "image" | "pdf" | "html" | "text" | "binary",
          			rendition: renditionId
          			content: xpath
          			type: mime-type // optional mime type - must be specified for videos.
          		}
          	}
          	</preview>
          	 -->
          </library>
  • <listing>
            <!-- title>Nuxeo Documents</title -->
          	<nuxeo-drive>true</nuxeo-drive>      	
          	<upload>true</upload>
          	<link-operation>Salesforce.LinkAsSource</link-operation>
          	<link-test>
          	function(doc, recordId) {
                var source = doc.properties['dc:source'];
                return source ? source === recordId || source.split(',').indexOf(recordId) &gt; -1 : false;
          	}
          	</link-test>
          	<!--
          	The query element defines a custom javascript function to be used by the client to create the search call 
          	for the listing and listing search requests.    
          	The context object describe the client context and can be used to compute the page provider or other parameters
          	to pass to the search. The context object contains the following properties: repositoryName, appType, appConfig, 
          	recordId, recordType, record and env. The **env** property is a custom environment object 
          	that can be defined by external components. (by default it is an empty object)
          	
          	Note that we wrap the recordId inside % characters - to be able to use the LIKE operator in the fixed part of the sfdc_linked_docs page provider     
          	 -->
          	<query>
          	function(context, params) {
          		params.pageProvider = "sfdc_linked_docs";
          		params.recordId = '%'+context.recordId+'%';
          	}
          	</query>
          	<!-- 
          	you can control the visibility of these columns: type, size, author, lastModified.
          	The default is to hide the type column. 
          	-->
          	<doclist-hidden-columns>type</doclist-hidden-columns>      	
          </listing>
  • <search>
            <!--  title>Nuxeo Search</title -->
            <nuxeo-drive>true</nuxeo-drive>
          	<page-provider>default_search</page-provider>
          </search>

XML Source

<extension point="config" target="org.nuxeo.salesforce.SalesforceComponent">
      <library>
        <!-- title>Nuxeo Library</title -->
      	<root>/default-domain/workspaces</root>
      	<nuxeo-drive>true</nuxeo-drive>
      	<!-- 
      	you can control the visibility of these columns: type, size, author, lastModified.
      	The default is to hide the type column. 
      	-->
      	<doclist-hidden-columns>type</doclist-hidden-columns>
      	<!--
      	You can control which doc tab, data section, doc action or nav actions are visible. 
      	If not specified or empty all items are visible:
      	<doc-tabs>preview,data,history</doc-tabs>  
      	<data-sections>metadata,business-metadata,attachments,renditions,mlt</data-sections>
      	<doc-actions>edit,open,download,upload,lock</doc-actions>
      	<nav-actions>download,open,edit,delete</nav-actions>
      	The custom nav. actions are added to the built-in nav-actions. You should define a label, a Salesforce icon ID 
      	and an operation to be invoked bny the action 
      	<custom-nav-actions>
      		<action name='myaction' label="My Action" icon="action:new_note" operation="Salesforce.MyAction" />
      		...
      	</custom-nav-actions>
      	
      	To add custom user fields:
        <user-fields>NuxeoUserId__c,Team__c</user-fields>
        
        You can change the default open action to open the document in nuxeo:
        (The default is to open the document in the document viewer on the right of the listing.)   
        <open-doc-in-nuxeo>true</open-doc-in-nuxeo>
        
      	<preview>
      	function(doc) {
      		// the doc object is an instance of the FileDoc class from force-app/main/default/lwc/nuxeoClient/model.js
      		// the doc.doc object is the Nuxeo document defined in nuxeo javascript client.
      		// Refer to FileDoc for more on the API it expose.
      		// You can return null (or falsy) to let the client use the default rendition detection.         		
      		return {
      			viewer: "video" | "audio" | "image" | "pdf" | "html" | "text" | "binary",
      			rendition: renditionId
      			content: xpath
      			type: mime-type // optional mime type - must be specified for videos.
      		}
      	}
      	</preview>
      	 -->
      </library>
      <listing>
        <!-- title>Nuxeo Documents</title -->
      	<nuxeo-drive>true</nuxeo-drive>      	
      	<upload>true</upload>
      	<link-operation>Salesforce.LinkAsSource</link-operation>
      	<link-test>
      	function(doc, recordId) {
            var source = doc.properties['dc:source'];
            return source ? source === recordId || source.split(',').indexOf(recordId) &gt; -1 : false;
      	}
      	</link-test>
      	<!--
      	The query element defines a custom javascript function to be used by the client to create the search call 
      	for the listing and listing search requests.    
      	The context object describe the client context and can be used to compute the page provider or other parameters
      	to pass to the search. The context object contains the following properties: repositoryName, appType, appConfig, 
      	recordId, recordType, record and env. The **env** property is a custom environment object 
      	that can be defined by external components. (by default it is an empty object)
      	
      	Note that we wrap the recordId inside % characters - to be able to use the LIKE operator in the fixed part of the sfdc_linked_docs page provider     
      	 -->
      	<query>
      	function(context, params) {
      		params.pageProvider = "sfdc_linked_docs";
      		params.recordId = '%'+context.recordId+'%';
      	}
      	</query>
      	<!-- 
      	you can control the visibility of these columns: type, size, author, lastModified.
      	The default is to hide the type column. 
      	-->
      	<doclist-hidden-columns>type</doclist-hidden-columns>      	
      </listing>
      <search>
        <!--  title>Nuxeo Search</title -->
        <nuxeo-drive>true</nuxeo-drive>
      	<page-provider>default_search</page-provider>
      </search>
  </extension>